/**
 * ce fichier a toutes les functions qui s'occupent d'afficher les fichiers et les tags
 * dans la page MAIN de l'application
 */

// on a besoin d'un array qui contient tous les tags de la page
var tags = new Array();
var files = new Array();
var clickedFile = -1; // référence utilisée pour l'affichage du formulaire

function addTag(id){
	tags.push(id);
}

function taggClicked(idChosen){
	uncheckAllTags();
	displayAllFiles();
	hideMailToForm();
	unhighlightAllDivFiles();
	// le checkbox "View All" ne peut pas être décoché par l'usager
	if(idChosen == -1){
		document.getElementById("tag-1").checked = true;
		return; // view all a été clické, on ne cache rien
	}
	// check le tag choisit
	document.getElementById("tag"+idChosen).checked = true;
	// on cache les fichiers qui ne sont  pas liés au tag choisit
	hideFilesNotAssociatedToIdChosen(idChosen);
}

function uncheckAllTags(){
	for ( var id in tags ) {
		elementName = "tag" + tags[id];
		document.getElementById(elementName).checked = false;
	}
}

function displayAllFiles(){
	for( var fileId in files ){
		document.getElementById("file"+fileId).style.visibility = 'visible';
		document.getElementById("file"+fileId).style.display = 'block';
	}
}

function hideFilesNotAssociatedToIdChosen(labelIdChosen){
	for( var fileId in files ){
		var test = false;
		for( var label in files[fileId] ){
			if(files[fileId][label] == labelIdChosen)
				test = true;
		}
		if(!test){
			document.getElementById("file"+fileId).style.visibility = 'hidden';
			document.getElementById("file"+fileId).style.display = 'none';
		}
	}
}

function clickedFileAction(idChosen){
	clickedFile = idChosen;
	unhighlightAllDivFiles();
	highlightDivClicked(idChosen);
	hideMailToForm();
	var actionForm = document.getElementById("actionForm");
	var fileClicked = document.getElementById("file"+idChosen);
	fileClicked.appendChild(actionForm);
	actionForm.style.visibility = 'visible';
	actionForm.style.display = 'block';
}

function highlightDivClicked(idChosen){
	var divFileClicked = document.getElementById("file"+idChosen);
	divFileClicked.style.borderColor = "#769FDE";
}

function unhighlightAllDivFiles(){
	for( var fileId in files ){
		document.getElementById("file"+fileId).style.borderColor = "white";
	}
}

function openFile(){
	window.open('openFile.php?id='+clickedFile);
}

function displayMailToForm(){
	var div = document.getElementById('mailToForm');
	div.style.display = 'block';
	div.style.visibility = 'visible';
	document.getElementById('fileId').value = clickedFile;
}

function hideMailToForm(){
	var div = document.getElementById('mailToForm');
	div.style.display = 'none';
	div.style.visibility = 'hidden';
	document.getElementById('emailText').value = "";
	document.getElementById('emailComment').value = "";
	document.getElementById('fileId').value = "";
}
